package test;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 创建线程有3种方式
 */
public class demo05{
    public static void main(String[] args) {
        // 创建并启动线程 【使用thread方式创建线程】
//        MyThread thread = new MyThread();
//        thread.start();
        // 创建并启动线程 【使用runnable方式创建线程】
        MyRunnable runnable = new MyRunnable();
        Thread thread = new Thread(runnable);
        thread.start();
    }
}
class MyThread extends Thread {
    public void run() {
        // 线程执行的代码
        System.out.println("使用thread方式创建线程");
    }
}
class MyRunnable implements Runnable {
    public void run() {
        // 线程执行的代码
        System.out.println("使用Runnable方式创建线程");
    }
}
//使用Executor框架创建线程，可以提交多个任务到线程池中执行，可以控制线程池的大小和关闭线程池等。
class ExecutorMyThread implements Runnable{
    @Override
    public void run() {
        System.out.println("使用ExecutorService方式创建线程");
    }
    public static void main(String[] args) {
        // 创建线程池
        ExecutorService executor = Executors.newFixedThreadPool(10);

        // 提交任务到线程池
        executor.submit(new ExecutorMyThread());

        // 关闭线程池
        executor.shutdown();
    }
}
